//封装一个栈 
class ArrayStack{
    //定义一个数组/链表，用于存储元素
    private data: any[] = []
    //实现栈中的相关方法
    //push 方法，将一个元素压入栈中
    push(element:any):void{
        this.data.push(element)
    }
    //pop方法:将栈顶的元素弹出栈（返回出去，并且从栈顶移除掉）
    pop():any{
        return this.data.pop()
    }
    //peek方法，看一眼栈顶元素，但是不进行任何操作
    peek(){
        return this.data[this.data.length - 1]
    }
    //isEmpty 判断栈是否为空
    isEmpty():boolean{
        return this.data.length === 0
    }
    //size 返回栈的数据个数
    size():number{
        return this.data.length
    }
}



export default ArrayStack


